// 在这个模块中，专门封装 dispatch 和 selector 对应的 hook
import { useDispatch, useSelector } from 'react-redux'
import store from '@/store'
import type { RootState } from '@/store'

// 今后，在组件中，导入并调用 useAppDispatch 这个 hook 之后，同样可以得到一个 dispatch 方法
// 而且，这个得到的 dispatch 方法功能强大：即支持普通的 action 对象，又支持 thunk action
export const useAppDispatch = useDispatch.withTypes<typeof store.dispatch>()
export const useAppSelector = useSelector.withTypes<RootState>()
